package com.galeno.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * @author galeno
 * @Title:
 * @Description:
 * @date 2021/11/1115:36
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RuleCondition {
    //规则Id
    private String ruleId;
    //触发的行为规则
    private EventParam triggerEvent;

    //用户画像规则
    private Map<String,String> profileCondition;

    //用户历史行为次数规则（，）
    //第一个规则：行为：A， 行为属性：{p1 = v2},   时间段：最近3天,  阈值：2次
    //第二个规则：行为：C   行为属性：null,        时间段：最近3天， 阈值：3次
    //以后要查询ClickHouse或DorisDB，所有要实现生成SQL（SQL不能写死）
   // private List<EventParam> eventCountCondition;


    //事先定义好的形成顺序规则
    //规则 : A {p1 = v2, p2 = v5} -> B {p3 = v1} -> C -> F  经过分析，多个行为和行为行为属性
   // private List<EventParam> eventSequenceCondition;

    /**
     * 用户配置的行为次数条件或者行为序列条件
     * 1行为次数条件:A事件,做过三次
     * 2行为序列ABC做过2次
     * 3行为次数条件  B  做个2次
     */
    private List<CombineCondition> combineConditions;


}
